package fr.syntheses.blog.Model.DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;



import fr.syntheses.blog.beans.Centredinterets;
import fr.syntheses.blog.beans.Style;

public class StyleDAO extends ModeleDAO {
	Logger log = Logger.getLogger(StyleDAO.class);

	  Connection cnx = null;
	  ResultSet resultat = null;
	  String requeteString = null;
	  private static List<Style> listeStyles;
	  PreparedStatement requete = null;
	
	
	
	
public List<Style> listStyle() {
		
	this.log.debug("Entering in listerStyle()");

   listeStyles= new ArrayList<Style>();

    Style style = null;
    try
    {
      this.cnx = super.getConnection();

      this.requeteString = "SELECT * FROM style";

      this.requete = this.cnx.prepareStatement(this.requeteString);

      this.resultat = this.requete.executeQuery();

      if (this.resultat != null)
      {
        while (this.resultat.next())
        {
         style = mapperstyle(this.resultat);

          listeStyles.add(style);
        }
      }
    }
    catch (Exception e)
    {
      this.log.debug("Erreur dans la requete dans la classe StyleDAO ");
      try
      {
        if (this.resultat != null)
        {
          GestionBaseDeDonnees.closeResulset(this.resultat);
        }
        if (this.requete != null)
        {
          GestionBaseDeDonnees.closeRequest(this.requete);
        }
        if (this.cnx != null)
        {
          GestionBaseDeDonnees.closeConnection(this.cnx);
        }
      }
      catch (Exception ex)
      {
        this.log.debug("Erreur lors de la fermeture de la connexion avec la base de donn�es dans la classe Style");
      }
    }
    finally
    {
      try
      {
        if (this.resultat != null)
        {
          GestionBaseDeDonnees.closeResulset(this.resultat);
        }
        if (this.requete != null)
        {
          GestionBaseDeDonnees.closeRequest(this.requete);
        }
        if (this.cnx != null)
        {
          GestionBaseDeDonnees.closeConnection(this.cnx);
        }
      }
      catch (Exception ex)
      {
        this.log.debug("Erreur lors de la fermeture de la connexion avec la base de donn�es dans la classe Centredinterets");
      }

    }

    return listeStyles;
  }
	

	private Style mapperstyle(ResultSet resultat) {
		Style style= new Style();
		try
	    {
	      if (resultat.getString("Id") == null)
	      {
	       style.setId(0);
	      }
	      else
	      {
	        style.setId(resultat.getInt("Id"));
	      }

	      if (resultat.getString("Style") == null)
	        style.setStyle("");
	      else
	        style.setStyle(resultat.getString("Style"));
	    }
	    catch (Exception localException)
	    {
	    }
	    this.log.debug("in mapper exit with utilisateur" + style);
	    return style;
	  }
	



	public void create() {
		throw new UnsupportedOperationException();
	}

	public void read() {
		throw new UnsupportedOperationException();
	}

	public void update() {
		throw new UnsupportedOperationException();
	}

	public void delete() {
		throw new UnsupportedOperationException();
	}

	
}